package routers

import (
	"yuanaiproblem/controllers"

	"github.com/gin-gonic/gin"
)

// RegisterUserRoutes 注册用户相关路由（需登录）
func RegisterUserRoutes(authed *gin.RouterGroup) {
	// 获取当前用户操作记录
	authed.GET("/records", controllers.GetUserRecords)

	// 题目相关接口
	questions := authed.Group("/questions")
	{
		questions.GET("/getSupportLanguage", controllers.GetSupportLanguage) // 获取支持的编程语言
		questions.GET("", controllers.GetUserQuestions)                      // 获取用户题目列表
		questions.POST("/generate", controllers.GenerateQuestion)            // 生成AI题目（临时保存至redis中）
		questions.POST("/confirm", controllers.SaveEditedQuestions)          // 确认并保存题目
		questions.PUT("/:id", controllers.UpdateQuestion)                    // 更新指定题目
		questions.DELETE("/:id", controllers.DeleteQuestion)                 // 删除指定题目
	}

	// 试卷相关接口
	papers := authed.Group("/papers")
	{
		papers.GET("", controllers.GetPaperByUserID)                                     // 获取用户试卷列表
		papers.GET("/:id", controllers.GetPaperDetail)                                   // 获取试卷详情
		papers.POST("", controllers.CreatePaper)                                         // 创建试卷
		papers.POST("/:id/questions", controllers.AddQuestionToPaper)                    // 向试卷添加题目
		papers.PUT("/:id", controllers.UpdateUserPaperDetail)                            // 更新试卷信息
		papers.PUT("/:id/questions/order", controllers.UpdateQuestionOrder)              // 调整题目顺序
		papers.DELETE("/:id", controllers.DeletePaper)                                   // 删除试卷
		papers.DELETE("/:id/questions/:questionId", controllers.RemoveQuestionFromPaper) // 移除试卷题目
	}
}
